Le translateur JW.Ressource permet à JoliWrite (à partir de la version 3.0) de manipuler des ressources de tous types, en lecture et en écriture. Il est accessible par trois voies:
- Ouvrir… pour lire une ressource,
- Ajouter à… pour écrire une ressource dans un fichier préexistant,
- Exporter… pour créer un fichier de ressources et y écrire.
Le style du texte est totalement ignoré par ce translateur.
Lecture d'une ressource
Pour lire le contenu d'une ressource, il faut sélectionner Ouvrir… dans le menu Fichier, puis sélectionner dans le pop-up le translateur Ressource: tous les fichiers non ouverts apparaissent dans la liste.
Une fois le fichier sélectionné, JoliWrite "passe la main" au translateur, qui affiche un autre dialogue, dans lequel sont listées les types et les ids des ressources du fichier (si le fichier ne possède pas de resource-fork, le translateur affichera une alerte).
Sélectionner ensuite la ressource à lire, puis cliquer sur Importer (ou double-cliquer sur l'id de la ressource).
Le document résultant sera considéré par JoliWrite comme "nouveau", c'est-à-dire non sauvegardé. La fenêtre sera titrée avec le nom du fichier suivi du type et de l'id de la ressource.
Sauvegarde
Pour sauvegarder le contenu d'une fenêtre dans une ressource, que ce contenu provienne ou non originellement d'une ressource, il faut à nouveau utiliser le translateur.
Pour créer un nouveau fichier de ressources, sélectionner Exporter…, sélectionner Ressource dans le pop-up, entrer le nom du fichier à créer. Le fichier sera de type 'rsrc' et de creator 'RSED' (document ResEdit).
Pour obtenir un autre type de fichier, il faut procéder de la façon suivante: sélectionner Nouveau pour obtenir un nouveau document vide, sélectionner Exporter… avec le mode Data-fork, entrer ici les type/creator désirés. Le résultat sera un fichier au data-fork vide, et sans resource-fork, ce dernier pouvant être créé comme expliqué ci-après.
Plus simplement, pour ouvrir un fichier préexistant en vue d'y écrire une ressource, sélectionner Ajouter à… dans le menu Fichier, en sélectionnant le translateur Ressource.
Une fois le fichier ouvert, le translateur affiche un dialogue dans lequel les ressources du fichier ouvert sont listées. Des champs permettent d'entrer le nom (optionnel) de la ressource, et le type et l'id désirés, et les cases à cocher permettent d'en fixer les attributs.
Si le texte exporté provient originellement d'une ressource, le dialogue s'initialise en proposant le nom, le type, l'id et les attributs de la ressource originale, même si celle-ci provient d'un autre fichier. Ceci permet de transférer facilement une ressource d'un fichier à un autre, en préservant ses attributs.
Attention: si l'on sélectionne une autre ressource dans la liste, les champs et les attributs sont mis à jour pour refléter ceux de la ressource sélectionnée. Ceci permet de remplacer la ressource-cible en "récupérant" ses attributs, mais fait disparaître du dialogue les attributs de la ressource originale. Un double-clic dans la liste d'ids équivaut à cliquer sur le bouton OK, tout en sélectionnant une ressource préexistante.
Un clic dans le bouton Proposer un id inutilisé mettra un id unique (unique dans ce fichier, pour ce type de ressource) dans le champ id. L'utilisation de ce bouton assure que l'écriture n'écrasera aucune ressource préexistante.
Si la ressource spécifiée existe déjà dans le fichier, le translateur affichera une alerte permettant de confirmer le remplacement, ou d'annuler.
Au moment de l'écriture de la ressource, si le resource-fork du fichier n'existe pas, il est créé automatiquement.
Les cases à cocher ne modifient en aucun cas les attributs des autres ressources, et ne servent qu'à les "pêcher": seule la ressource spécifiée par les champs type et id sera écrite, avec le nom et les attributs visibles dans le dialogue au moment de l'écriture.